﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace Ys.Sdk.Demo.Core.Entities
{
	/// <summary>
	/// 错误码
	/// https://open.ys7.com/doc/zh/book/pc/pc_errorcode.html
	/// </summary>
	public class YsError
	{
		/// <summary>
		/// 根据appKey和secret获取accessToken错误码信息
		/// </summary>
		public static Dictionary<uint, string> TokenErrorDictionary { get; set; }
		/// <summary>
		/// 预览,回放消息回调MessageInfo错误码信息
		/// EZPCOpenSDK Error
		/// </summary>
		public static Dictionary<string, string> MessageInfoErrorDictionary { get; set; }

		/// <summary>
		/// 预览,回放消息回调ErrorCode具体错误码值
		/// EZPCOpenSDK Error
		/// </summary>
		public static Dictionary<uint, string> ErrorCodeErrorDictionary { get; set; }

		/// <summary>
		/// OpenSDK 服务层错误码定义
		/// </summary>
		public static Dictionary<uint, string> OpenSdkErrorDictionary { get; set; }

		static YsError()
		{
			#region TokenErrorDictionary
			TokenErrorDictionary = new Dictionary<uint, string>();
			TokenErrorDictionary.Add(200,"OK");
			TokenErrorDictionary.Add(10001, "参数错误");
			TokenErrorDictionary.Add(10005, "appKey异常");
			TokenErrorDictionary.Add(10017, "appKey不存在");
			TokenErrorDictionary.Add(10030, "appkey和appSecret不匹配");
			TokenErrorDictionary.Add(49999, "数据异常");
			#endregion

			#region MessageInfoErrorDictionary
			MessageInfoErrorDictionary = new Dictionary<string, string>();
			MessageInfoErrorDictionary.Add("UE001", "accesstoken异常或失效，需要重新获取accesstoken，并传入到sdk");
			MessageInfoErrorDictionary.Add("UE002", "appkey和AccessToken不匹配,建议更换appkey或者AccessToken");
			MessageInfoErrorDictionary.Add("UE004", "通道不存在，设备参数错误，建议重新获取播放地址");
			MessageInfoErrorDictionary.Add("UE005", "设备不存在，设备参数错误，建议重新获取播放地址");
			MessageInfoErrorDictionary.Add("UE006", "参数错误，建议重新获取播放地址");
			MessageInfoErrorDictionary.Add("UE007", "播放地址错误,建议重新获取播放地址");
			MessageInfoErrorDictionary.Add("UE101", "设备连接数过大，停止其他连接后再试试吧");
			MessageInfoErrorDictionary.Add("UE102", "设备不在线，确认设备上线之后重试");
			MessageInfoErrorDictionary.Add("UE103", "播放失败，请求连接设备超时，检测设备网路连接是否正常");
			MessageInfoErrorDictionary.Add("UE104", "视频验证码错误，建议重新获取url地址增加验证码");
			MessageInfoErrorDictionary.Add("UE105", "视频播放失败, 请查看具体的ErrorCode");
			MessageInfoErrorDictionary.Add("UE106", "当前账号开启了终端绑定，只允许指定设备登录操作");
			MessageInfoErrorDictionary.Add("UE107", "设备信息异常为空，建议重新获取播放地址");
			MessageInfoErrorDictionary.Add("UE108", "未查找到录像文件");
			MessageInfoErrorDictionary.Add("UE109", "取流并发路数限制,请升级为企业版");
			MessageInfoErrorDictionary.Add("UE110", "设备不支持的清晰度类型, 请根据设备预览能力级选择");
			#endregion

			#region ErrorCodeErrorDictionary
			ErrorCodeErrorDictionary = new Dictionary<uint, string>();
			ErrorCodeErrorDictionary.Add(2001, "获取操作码失败");
			ErrorCodeErrorDictionary.Add(2002, "获取取流token失败");
			ErrorCodeErrorDictionary.Add(2003, "设置语音采集回调播放失败");
			ErrorCodeErrorDictionary.Add(2004, "开启语音播放失败");
			ErrorCodeErrorDictionary.Add(2005, "语音采集开启播放失败");
			ErrorCodeErrorDictionary.Add(2006, "tts TALK_VTDU CreateTalk error");
			ErrorCodeErrorDictionary.Add(2007, "tts TALK_VTDU SetDataCallBack error");
			ErrorCodeErrorDictionary.Add(2008, "tts TALK_VTDU SetMsgCallBack error");
			ErrorCodeErrorDictionary.Add(2009, "tts TALK_VTDU StartTalk error");
			ErrorCodeErrorDictionary.Add(2010, "cas TALK_TCP/ TALK_UDP CreateSession error");
			ErrorCodeErrorDictionary.Add(2011, "cas TALK_TCP/ TALK_UDP VoiceTalkStart error");
			ErrorCodeErrorDictionary.Add(2012, "重新输入密钥 1.明文密钥和输入MD5密钥不相等");
			ErrorCodeErrorDictionary.Add(2013, "VTDU返回的操作码错误或信令密钥错误");
			ErrorCodeErrorDictionary.Add(2014, "停止语音采集失败");
			ErrorCodeErrorDictionary.Add(2015, "停止语音播放失败");
			ErrorCodeErrorDictionary.Add(2016, "停止语音采集成功");
			ErrorCodeErrorDictionary.Add(2017, "停止语音播放成功");
			ErrorCodeErrorDictionary.Add(2021, "流媒体向设备发送或接受信令超时");
			ErrorCodeErrorDictionary.Add(2022, "验证token失败");
			ErrorCodeErrorDictionary.Add(2023, "客户端的URL格式错误");
			ErrorCodeErrorDictionary.Add(2025, "vtdu客户端接收回应超时");
			ErrorCodeErrorDictionary.Add(2026, "取流session出错");
			ErrorCodeErrorDictionary.Add(2027, "等待流头超时");
			ErrorCodeErrorDictionary.Add(2028, "用户停止");
			ErrorCodeErrorDictionary.Add(2029, "解密失败");
			ErrorCodeErrorDictionary.Add(2031, "vtdu取流创建session失败");
			ErrorCodeErrorDictionary.Add(2032, "vtdu取流销毁session失败");
			ErrorCodeErrorDictionary.Add(2033, "vtdu取流开始失败，返回-1时设置");
			ErrorCodeErrorDictionary.Add(2034, "vtdu取流停止失败");
			ErrorCodeErrorDictionary.Add(2035, "vtdu取流暂停失败");
			ErrorCodeErrorDictionary.Add(2036, "vtdu取流恢复失败");
			ErrorCodeErrorDictionary.Add(2037, "vtdu取流改变速率失败");
			ErrorCodeErrorDictionary.Add(2044, "VTDUtoken无权限");
			ErrorCodeErrorDictionary.Add(2045, "VTDUsession不存在");
			ErrorCodeErrorDictionary.Add(2046, "VTDU验证token的他异常（不具体）");
			ErrorCodeErrorDictionary.Add(2047, "VTDU客户端连接不上VTM");
			ErrorCodeErrorDictionary.Add(2048, "VTDU客户端连接不上VTDU");
			ErrorCodeErrorDictionary.Add(2049, "设备通道错误");
			ErrorCodeErrorDictionary.Add(2050, "设备不支持的码流类型");
			ErrorCodeErrorDictionary.Add(2051, "设备连接不上流媒体");
			ErrorCodeErrorDictionary.Add(2052, "客户端给的cas地址信息错误");
			ErrorCodeErrorDictionary.Add(2053, "视频分享时间已经结束");
			ErrorCodeErrorDictionary.Add(2054, "流媒体接收流头超时8s");
			ErrorCodeErrorDictionary.Add(2055, "VtduiParamTypeerror");
			ErrorCodeErrorDictionary.Add(2056, "获取操作码参数错误");
			ErrorCodeErrorDictionary.Add(2057, "无法找到设备");
			ErrorCodeErrorDictionary.Add(2058, "获取Token参数错误");
			ErrorCodeErrorDictionary.Add(2059, "获取的Token为空");
			ErrorCodeErrorDictionary.Add(2060, "找不到可用文件");
			//ErrorCodeErrorDictionary.Add(2204, "信令消息解析非法");
			//ErrorCodeErrorDictionary.Add(2205, "内存资源不足");
			//ErrorCodeErrorDictionary.Add(2208, "解析vtm返回vtdu地址不合法");
			//ErrorCodeErrorDictionary.Add(2210, "解析vtm返回会话标识长度不合法");
			//ErrorCodeErrorDictionary.Add(2222, "获取系统socket资源失败");
			//ErrorCodeErrorDictionary.Add(2224, "链接服务器失败");
			//ErrorCodeErrorDictionary.Add(2225, "客户端请求未收到服务端应答");
			//ErrorCodeErrorDictionary.Add(2226, "链路断开");
			ErrorCodeErrorDictionary.Add(2201, "通用错误返回");
			ErrorCodeErrorDictionary.Add(2202, "入参为空指针");
			ErrorCodeErrorDictionary.Add(2203, "入参值无效");
			ErrorCodeErrorDictionary.Add(2204, "信令消息解析非法");
			ErrorCodeErrorDictionary.Add(2205, "内存资源不足");
			ErrorCodeErrorDictionary.Add(2206, "协议格式不对或者消息体长度超过STREAM_MAX_MSGBODY_LEN");
			ErrorCodeErrorDictionary.Add(2207, "设备序列号长度不合法");
			ErrorCodeErrorDictionary.Add(2208, "取流url长度不合法");
			ErrorCodeErrorDictionary.Add(2209, "解析vtm返回vtdu地址不合法");
			ErrorCodeErrorDictionary.Add(2210, "解析vtm返回级联vtdu地址不合法");
			ErrorCodeErrorDictionary.Add(2211, "解析vtm返回会话标识长度不合法");
			ErrorCodeErrorDictionary.Add(2212, "vtdu返回流头长度不合法");
			ErrorCodeErrorDictionary.Add(2213, "vtdu会话长度非法");
			ErrorCodeErrorDictionary.Add(2214, "回调函数未注册");
			ErrorCodeErrorDictionary.Add(2215, "vtdu成功响应未携带会话标识");
			ErrorCodeErrorDictionary.Add(2216, "vtdu成功响应未携带流头");
			ErrorCodeErrorDictionary.Add(2217, "无数据流，尚未使用");
			ErrorCodeErrorDictionary.Add(2218, "信令消息体PB解析失败");
			ErrorCodeErrorDictionary.Add(2219, "信令消息体PB封装失败");
			ErrorCodeErrorDictionary.Add(2220, "申请系统内存资源失败");
			ErrorCodeErrorDictionary.Add(2221, "vtdu地址尚未获取到");
			ErrorCodeErrorDictionary.Add(2222, "客户端尚未支持");
			ErrorCodeErrorDictionary.Add(2223, "获取系统socket资源失败");
			ErrorCodeErrorDictionary.Add(2224, "上层填充的StreamSsnId不匹配");
			ErrorCodeErrorDictionary.Add(2225, "链接服务器失败");
			ErrorCodeErrorDictionary.Add(2226, "客户端请求未收到服务端应答");
			ErrorCodeErrorDictionary.Add(2227, "链路断开");
			ErrorCodeErrorDictionary.Add(2228, "没有取流链接");
			ErrorCodeErrorDictionary.Add(2229, "流成功停止");
			ErrorCodeErrorDictionary.Add(2230, "客户端防串流校验失败");
			ErrorCodeErrorDictionary.Add(2231, "应用层tcp粘包处理缓冲区满");
			ErrorCodeErrorDictionary.Add(2232, "无效状态迁移");
			ErrorCodeErrorDictionary.Add(2233, "无效客户端状态");
			ErrorCodeErrorDictionary.Add(2234, "向vtm取流流媒体信息请求超时");
			ErrorCodeErrorDictionary.Add(2235, "向代理取流请求超时");
			ErrorCodeErrorDictionary.Add(2236, "向代理保活取流请求超时");
			ErrorCodeErrorDictionary.Add(2237, "向vtdu取流请求超时");
			ErrorCodeErrorDictionary.Add(2238, "向vtdu保活取流请求超时");
			ErrorCodeErrorDictionary.Add(2602, "回放在不到录像文件");
			ErrorCodeErrorDictionary.Add(2603, "操作码或信令密钥与设备不匹配");
			ErrorCodeErrorDictionary.Add(2604, "设备不在线");
			ErrorCodeErrorDictionary.Add(2605, "流媒体向设备发送或接受信令超时 / cas响应超时");
			ErrorCodeErrorDictionary.Add(2606, "token失效");
			ErrorCodeErrorDictionary.Add(2607, "客户端的URL格式错误");
			ErrorCodeErrorDictionary.Add(2609, "预览开启隐私保护");
			ErrorCodeErrorDictionary.Add(2610, "设备达到最大连接数");
			ErrorCodeErrorDictionary.Add(2611, "token无权限");
			ErrorCodeErrorDictionary.Add(2612, "session不存在");
			ErrorCodeErrorDictionary.Add(2613, "验证token的其他异常（不具体）");
			ErrorCodeErrorDictionary.Add(2615, "设备通道错");
			ErrorCodeErrorDictionary.Add(2651, "设备不支持的码流类型");
			ErrorCodeErrorDictionary.Add(2652, "设备连接预览流媒体服务器失败");
			ErrorCodeErrorDictionary.Add(2654, "视频分享时间已经结束");
			ErrorCodeErrorDictionary.Add(2691, "相同请求正在处理，拒绝本次处理");
			ErrorCodeErrorDictionary.Add(2700, "流媒体服务器内部处理错误");
			ErrorCodeErrorDictionary.Add(2703, "vtm分配vtdu服务器失败");
			ErrorCodeErrorDictionary.Add(2744, "设备返回无视频源");
			ErrorCodeErrorDictionary.Add(2745, "视频分享时间已经结束");
			ErrorCodeErrorDictionary.Add(2746, "VTDU取流并发2路限制");
			ErrorCodeErrorDictionary.Add(2756, "ticket校验失败");
			ErrorCodeErrorDictionary.Add(3001, "未知错误");
			ErrorCodeErrorDictionary.Add(3002, "报文参数错误");
			ErrorCodeErrorDictionary.Add(3003, "报文解析错误");
			ErrorCodeErrorDictionary.Add(3006, "非法命令");
			ErrorCodeErrorDictionary.Add(3007, "过时命令");
			ErrorCodeErrorDictionary.Add(3008, "错误命令");
			ErrorCodeErrorDictionary.Add(3011, "校验码错误");
			ErrorCodeErrorDictionary.Add(3016, "协议版本错误");
			ErrorCodeErrorDictionary.Add(3017, "协议版本过低");
			ErrorCodeErrorDictionary.Add(3018, "协议版本被禁止");
			ErrorCodeErrorDictionary.Add(3021, "序列号解析失败");
			ErrorCodeErrorDictionary.Add(3022, "序列号被禁止");
			ErrorCodeErrorDictionary.Add(3023, "序列号重复");
			ErrorCodeErrorDictionary.Add(3024, "相同序列号短时间内大量重复请求");
			ErrorCodeErrorDictionary.Add(3025, "序列号不再支持");
			ErrorCodeErrorDictionary.Add(3031, "本地无法响应");
			ErrorCodeErrorDictionary.Add(3032, "本地主动拒绝");
			ErrorCodeErrorDictionary.Add(3033, "无法接受请求");
			ErrorCodeErrorDictionary.Add(3034, "设备加密算法不匹配");
			ErrorCodeErrorDictionary.Add(3036, "设备类型错误");
			ErrorCodeErrorDictionary.Add(3037, "设备类型不再支持");
			ErrorCodeErrorDictionary.Add(3041, "设备无法响应");
			ErrorCodeErrorDictionary.Add(3042, "操作码错误");
			ErrorCodeErrorDictionary.Add(3043, "设备或平台未找到对应的加密算法");
			ErrorCodeErrorDictionary.Add(3044, "拒绝");
			ErrorCodeErrorDictionary.Add(3045, "没有可用资源,设备连接上线");
			ErrorCodeErrorDictionary.Add(3046, "通道错");
			ErrorCodeErrorDictionary.Add(3047, "不支持的命令");
			ErrorCodeErrorDictionary.Add(3048, "没有权限");
			ErrorCodeErrorDictionary.Add(3049, "没有找到会话");
			ErrorCodeErrorDictionary.Add(3051, "该通道已在发流");
			ErrorCodeErrorDictionary.Add(3052, "取流地址重复");
			ErrorCodeErrorDictionary.Add(3053, "不支持的码流类型");
			ErrorCodeErrorDictionary.Add(3054, "不支持的传输方式");
			ErrorCodeErrorDictionary.Add(3055, "连接预览流媒体服务器失败");
			ErrorCodeErrorDictionary.Add(3056, "查询设备公网出口地址失败");
			ErrorCodeErrorDictionary.Add(3061, "查找录像开始时间错");
			ErrorCodeErrorDictionary.Add(3062, "查找录像结束时间错");
			ErrorCodeErrorDictionary.Add(3063, "查找录像失败");
			ErrorCodeErrorDictionary.Add(3066, "不支持的回放类型");
			ErrorCodeErrorDictionary.Add(3067, "没有找到文件");
			ErrorCodeErrorDictionary.Add(3068, "开始时间错误");
			ErrorCodeErrorDictionary.Add(3069, "错误的结束时间");
			ErrorCodeErrorDictionary.Add(3070, "该时间段内没有录像");
			ErrorCodeErrorDictionary.Add(3071, "连接回放服务器端失败");
			ErrorCodeErrorDictionary.Add(3076, "不支持的语音编码类型");
			ErrorCodeErrorDictionary.Add(3077, "该通道已在对讲");
			ErrorCodeErrorDictionary.Add(3078, "和目的地址已有链接");
			ErrorCodeErrorDictionary.Add(3079, "not support talk");
			ErrorCodeErrorDictionary.Add(3080, "通道号错误");
			ErrorCodeErrorDictionary.Add(3081, "连接语音服务器失败");
			ErrorCodeErrorDictionary.Add(3082, "设备拒绝");
			ErrorCodeErrorDictionary.Add(3083, "设备资源受限");
			ErrorCodeErrorDictionary.Add(3086, "没有本地存储");
			ErrorCodeErrorDictionary.Add(3087, "正在格式化中");
			ErrorCodeErrorDictionary.Add(3088, "尝试格式化失败");
			ErrorCodeErrorDictionary.Add(3091, "服务器拒绝设备升级请求");
			ErrorCodeErrorDictionary.Add(3092, "没有找到请求版本");
			ErrorCodeErrorDictionary.Add(3093, "不需要升级");
			ErrorCodeErrorDictionary.Add(3094, "没有升级服务器在线");
			ErrorCodeErrorDictionary.Add(3095, "所有升级服务器都达到最大负载");
			ErrorCodeErrorDictionary.Add(3101, "正在软件升级");
			ErrorCodeErrorDictionary.Add(3102, "升级失败（包含未知错误）");
			ErrorCodeErrorDictionary.Add(3103, "升级写Flash失败");
			ErrorCodeErrorDictionary.Add(3104, "升级语言不匹配");
			ErrorCodeErrorDictionary.Add(3106, "密码更新失败，没有对应用户");
			ErrorCodeErrorDictionary.Add(3107, "密码跟新失败，原始密码错误");
			ErrorCodeErrorDictionary.Add(3108, "密码更新失败，新密码解密失败");
			ErrorCodeErrorDictionary.Add(3109, "密码更新失败，新密码不符合规则");
			ErrorCodeErrorDictionary.Add(3110, "更新密码失败，写flash失败");
			ErrorCodeErrorDictionary.Add(3111, "更新密码失败，其他原因");
			ErrorCodeErrorDictionary.Add(3116, "验证密码失败");
			ErrorCodeErrorDictionary.Add(3121, "请求的设备不在线");
			ErrorCodeErrorDictionary.Add(3122, "为了保护设备，拒绝请求");
			ErrorCodeErrorDictionary.Add(3123, "设备达到链接的客户端上限");
			ErrorCodeErrorDictionary.Add(3124, "要求客户端断开与设备连接");
			ErrorCodeErrorDictionary.Add(3125, "设备拒绝平台发送的客户端连接请求");
			ErrorCodeErrorDictionary.Add(3126, "CAS向验证中心验证用户权限失败");
			ErrorCodeErrorDictionary.Add(3127, "设备开启隐私保护");
			ErrorCodeErrorDictionary.Add(3128, "没有关联特征码");
			ErrorCodeErrorDictionary.Add(3131, "不支持的布撤防类型");
			ErrorCodeErrorDictionary.Add(3132, "布撤防失败");
			ErrorCodeErrorDictionary.Add(3133, "强制布撤防失败");
			ErrorCodeErrorDictionary.Add(3134, "需要强制布撤防");
			ErrorCodeErrorDictionary.Add(3141, "没有找到云存储服务器");
			ErrorCodeErrorDictionary.Add(3142, "用户未开通云存储");
			ErrorCodeErrorDictionary.Add(3145, "文件已到结尾");
			ErrorCodeErrorDictionary.Add(3146, "无效的session");
			ErrorCodeErrorDictionary.Add(3147, "无效的文件");
			ErrorCodeErrorDictionary.Add(3148, "未知的云存储类型");
			ErrorCodeErrorDictionary.Add(3149, "不支持的文件类型");
			ErrorCodeErrorDictionary.Add(3150, "无效的文件");
			ErrorCodeErrorDictionary.Add(3151, "配额已满");
			ErrorCodeErrorDictionary.Add(3152, "文件已满");
			ErrorCodeErrorDictionary.Add(3200, "客户端错误号");
			ErrorCodeErrorDictionary.Add(3201, "参数错误");
			ErrorCodeErrorDictionary.Add(3202, "分配资源失败");
			ErrorCodeErrorDictionary.Add(3203, "发送错误");
			ErrorCodeErrorDictionary.Add(3204, "接收错误");
			ErrorCodeErrorDictionary.Add(3205, "解析报文错误");
			ErrorCodeErrorDictionary.Add(3206, "生成报文错误");
			ErrorCodeErrorDictionary.Add(3207, "初始化Socket失败");
			ErrorCodeErrorDictionary.Add(3208, "创建socket失败");
			ErrorCodeErrorDictionary.Add(3209, "连接服务器失败");
			ErrorCodeErrorDictionary.Add(3210, "CASLIB.dll not init");
			ErrorCodeErrorDictionary.Add(3211, "超过CASCLIENT库支持的最大数");
			ErrorCodeErrorDictionary.Add(3212, "信令发送超时");
			ErrorCodeErrorDictionary.Add(3213, "信令接收超时");
			ErrorCodeErrorDictionary.Add(3214, "create data packet failed");
			ErrorCodeErrorDictionary.Add(3215, "解析数据包错误");
			ErrorCodeErrorDictionary.Add(3216, "用户中途强行退出");
			ErrorCodeErrorDictionary.Add(3217, "获取本地端口错误");
			ErrorCodeErrorDictionary.Add(3218, "base64编码出错");
			ErrorCodeErrorDictionary.Add(3219, "base64 decode failed");
			ErrorCodeErrorDictionary.Add(3220, "接收数据错误");
			ErrorCodeErrorDictionary.Add(3221, "AES加密出错");
			ErrorCodeErrorDictionary.Add(3222, "AES解密出错");
			ErrorCodeErrorDictionary.Add(3223, "不支持的操作");
			ErrorCodeErrorDictionary.Add(3224, "p2p打洞失败");
			ErrorCodeErrorDictionary.Add(3225, "发送打洞包失败");
			ErrorCodeErrorDictionary.Add(3228, "初始化ssl失败");
			ErrorCodeErrorDictionary.Add(3229, "ssl连接失败");
			ErrorCodeErrorDictionary.Add(3249, "认证的其他错误");
			ErrorCodeErrorDictionary.Add(3250, "认证的数据库错误");
			ErrorCodeErrorDictionary.Add(3251, "认证的参数错误");
			ErrorCodeErrorDictionary.Add(3252, "认证的执行异常");
			ErrorCodeErrorDictionary.Add(3253, "认证的session不正常");
			ErrorCodeErrorDictionary.Add(3254, "认证的缓存异常");
			ErrorCodeErrorDictionary.Add(3255, "认证的无权限");
			ErrorCodeErrorDictionary.Add(3290, "没有可用的P2P预链接，和之前最大连接数（3045）做个区分");
			ErrorCodeErrorDictionary.Add(3291, "三路直连 / P2P之后，第四路直连设备返回的错误码");
			ErrorCodeErrorDictionary.Add(3292, "没有P2P取流资源, 直连资源有余");
			#endregion

			#region OpenSdkErrorDictionary
			OpenSdkErrorDictionary = new Dictionary<uint, string>();
			OpenSdkErrorDictionary.Add(500002, "加载播放库失败");
			OpenSdkErrorDictionary.Add(500003, "加载转封装库失败");
			OpenSdkErrorDictionary.Add(500004, "加载tts库失败");
			OpenSdkErrorDictionary.Add(500005, "参数错误");
			OpenSdkErrorDictionary.Add(500006, "调用顺序错误");
			OpenSdkErrorDictionary.Add(500007, "分配资源失败");
			OpenSdkErrorDictionary.Add(500008, "没有初始化, 没有使用");
			OpenSdkErrorDictionary.Add(500009, "操作不支持");
			OpenSdkErrorDictionary.Add(500010, "打开文件失败");
			OpenSdkErrorDictionary.Add(500011, "写文件失败");
			OpenSdkErrorDictionary.Add(500012, "读文件失败");
			OpenSdkErrorDictionary.Add(500013, "初始化hpr库失败");
			OpenSdkErrorDictionary.Add(500014, "声卡被独占, 没有使用");
			OpenSdkErrorDictionary.Add(500015, "创建socket失败");
			OpenSdkErrorDictionary.Add(500016, "连接失败");
			OpenSdkErrorDictionary.Add(500017, "发送失败");
			OpenSdkErrorDictionary.Add(500018, "接收失败");
			OpenSdkErrorDictionary.Add(500019, "发送超时");
			OpenSdkErrorDictionary.Add(500020, "接收超时");
			OpenSdkErrorDictionary.Add(500021, "域名解析错误");
			OpenSdkErrorDictionary.Add(500022, "xml解析错误");
			OpenSdkErrorDictionary.Add(500023, "xml结点错误");
			OpenSdkErrorDictionary.Add(500024, "没有安装Excel驱动, 没有使用");
			OpenSdkErrorDictionary.Add(500025, "URL解析失败");
			OpenSdkErrorDictionary.Add(500027, "找不到播放库接口地址");
			OpenSdkErrorDictionary.Add(500028, "找不到转封装库接口地址");
			OpenSdkErrorDictionary.Add(500029, "找不到TTS库接口地址");
			OpenSdkErrorDictionary.Add(500030, "开始音频采集失败, 没有使用");
			OpenSdkErrorDictionary.Add(500031, "开始音频播放失败, 没有使用");
			OpenSdkErrorDictionary.Add(500032, "初始化G722编解码失败, 没有使用");
			OpenSdkErrorDictionary.Add(500033, "磁盘空间不足");
			OpenSdkErrorDictionary.Add(500034, "文件已存在, 没有使用");
			OpenSdkErrorDictionary.Add(500035, "加载ppv库失败");
			OpenSdkErrorDictionary.Add(500036, "找不到libPPVClient接口地址");
			OpenSdkErrorDictionary.Add(500037, "加载stun库失败");
			OpenSdkErrorDictionary.Add(500038, "找不到StunClientLib接口地址");
			OpenSdkErrorDictionary.Add(500039, "找不到指定时间范围内的录像文件");
			OpenSdkErrorDictionary.Add(500040, "libCASClient初始化失败");
			OpenSdkErrorDictionary.Add(500041, "SSL方式连接失败");
			OpenSdkErrorDictionary.Add(500042, "JSON解析失败");
			OpenSdkErrorDictionary.Add(500043, "找不到libCASClient接口地址");
			OpenSdkErrorDictionary.Add(500044, "加载CASClient库失败");
			OpenSdkErrorDictionary.Add(500046, "加载libGetHDSign库失败");
			OpenSdkErrorDictionary.Add(500047, "获取硬件特征码失败");
			OpenSdkErrorDictionary.Add(500048, "创建相应的取流策略失败");
			OpenSdkErrorDictionary.Add(500049, "P2P切换失败");
			OpenSdkErrorDictionary.Add(500050, "RTSP初始化失败");
			OpenSdkErrorDictionary.Add(500051, "RTSP没有初始化");
			OpenSdkErrorDictionary.Add(500052, "TTS初始化失败");
			OpenSdkErrorDictionary.Add(500053, "STUNClient初始化失败");
			OpenSdkErrorDictionary.Add(500065, "Stun库初始化失败");
			OpenSdkErrorDictionary.Add(500067, "加载streamclient库失败");
			OpenSdkErrorDictionary.Add(500068, "streamclient没有加载");
			OpenSdkErrorDictionary.Add(500069, "streamclient创建对象失败");
			OpenSdkErrorDictionary.Add(500070, "streamclient找不到对应的session");
			OpenSdkErrorDictionary.Add(500071, "streamclient session不存在");
			OpenSdkErrorDictionary.Add(500081, "获取token为空");
			OpenSdkErrorDictionary.Add(500082, "设备未开启视频加密");
			OpenSdkErrorDictionary.Add(500083, "强制走流媒体类型");
			OpenSdkErrorDictionary.Add(500084, "VTM向PDS获取proxy时，PDS返回空或者失败");
			OpenSdkErrorDictionary.Add(500085, "Client向Proxy建链超时");
			OpenSdkErrorDictionary.Add(500086, "Proxy 拒接本次链接");
			OpenSdkErrorDictionary.Add(500087, "Proxy返回CLIENT_RET_VTDU_STATUS_405或者CLIENT_RET_VTDU_STATUS_452错误，Client尝试VTDU");
			OpenSdkErrorDictionary.Add(500088, "Client和Proxy的链路异常，recv()返回-1");
			OpenSdkErrorDictionary.Add(500089, "Client和Proxy间心跳超时");
			OpenSdkErrorDictionary.Add(500090, "Proxy 取流请求信令处理超时");
			OpenSdkErrorDictionary.Add(500091, "不加密走代理时，设备端的key的MD5不相等");
			OpenSdkErrorDictionary.Add(500100, "no error");
			OpenSdkErrorDictionary.Add(500101, "input parameter is invalid");
			OpenSdkErrorDictionary.Add(500102, "The order of the function to be called is error");
			OpenSdkErrorDictionary.Add(500103, "Create multimedia clock failed");
			OpenSdkErrorDictionary.Add(500104, "Decode video data failed");
			OpenSdkErrorDictionary.Add(500105, "Decode audio data failed");
			OpenSdkErrorDictionary.Add(500106, "Allocate memory failed");
			OpenSdkErrorDictionary.Add(500107, "Open the file failed");
			OpenSdkErrorDictionary.Add(500108, "Create thread or event failed");
			OpenSdkErrorDictionary.Add(500109, "Create DirectDraw object failed");
			OpenSdkErrorDictionary.Add(500110, "failed when creating off-screen surface");
			OpenSdkErrorDictionary.Add(500111, "buffer is overflow");
			OpenSdkErrorDictionary.Add(500112, "failed when creating audio device");
			OpenSdkErrorDictionary.Add(500113, "Set volume failed");
			OpenSdkErrorDictionary.Add(500114, "The function only support play file");
			OpenSdkErrorDictionary.Add(500115, "The function only support play stream");
			OpenSdkErrorDictionary.Add(500116, "System not support");
			OpenSdkErrorDictionary.Add(500117, "No file header");
			OpenSdkErrorDictionary.Add(500118, "The version of decoder and encoder is not adapted");
			OpenSdkErrorDictionary.Add(500119, "Initialize decoder failed");
			OpenSdkErrorDictionary.Add(500120, "The file data is unknown");
			OpenSdkErrorDictionary.Add(500121, "Initialize multimedia clock failed");
			OpenSdkErrorDictionary.Add(500122, "Blt failed");
			OpenSdkErrorDictionary.Add(500123, "Update failed");
			OpenSdkErrorDictionary.Add(500124, "openfile error, streamtype is multi");
			OpenSdkErrorDictionary.Add(500125, "openfile error, streamtype is video");
			OpenSdkErrorDictionary.Add(500126, "JPEG compress error");
			OpenSdkErrorDictionary.Add(500127, "Don't support the version of this file");
			OpenSdkErrorDictionary.Add(500128, "extract video data failed");
			OpenSdkErrorDictionary.Add(500129, "Secret key is error");
			OpenSdkErrorDictionary.Add(500130, "解码关键帧失败");
			OpenSdkErrorDictionary.Add(500131, "数据不足");
			OpenSdkErrorDictionary.Add(500132, "无效端口号");
			OpenSdkErrorDictionary.Add(500133, "查找失败");
			OpenSdkErrorDictionary.Add(500199, "未知的错误");
			OpenSdkErrorDictionary.Add(502006, "tts TALK_VTDU CreateTalk error");
			OpenSdkErrorDictionary.Add(502007, "tts TALK_VTDU SetDataCallBack error");
			OpenSdkErrorDictionary.Add(502008, "tts TALK_VTDU SetMsgCallBack error");
			OpenSdkErrorDictionary.Add(502012, "重新输入密钥 1.明文密钥和输入MD5密钥不相等");
			OpenSdkErrorDictionary.Add(502018, "VTM信息不合法,IP地址为空或者端口号为0, 可能是由于客户端断网导致域名无法正常解析导致");
			OpenSdkErrorDictionary.Add(502027, "等待流头超时");
			OpenSdkErrorDictionary.Add(502028, "用户停止");
			OpenSdkErrorDictionary.Add(502029, "解密失败");
			OpenSdkErrorDictionary.Add(502041, "录像下载失败");
			OpenSdkErrorDictionary.Add(502042, "缓存录像切换文件，由于码流中I帧不连续导致分成多个缓存文件");
			OpenSdkErrorDictionary.Add(502043, "缓存录像切码流开始时间晚于请求开始时间");
			OpenSdkErrorDictionary.Add(502056, "获取操作码参数错误");
			OpenSdkErrorDictionary.Add(502057, "无法找到设备");
			OpenSdkErrorDictionary.Add(502058, "获取Token参数错误");
			OpenSdkErrorDictionary.Add(502059, "获取的Token为空");
			OpenSdkErrorDictionary.Add(502060, "找不到可用文件");
			OpenSdkErrorDictionary.Add(502070, "代理验证的密钥不正确");
			OpenSdkErrorDictionary.Add(506399, "硬件特征码校验不通过,认证服务器返回");
			OpenSdkErrorDictionary.Add(506490, "获取Token超限,认证服务器返回");
			OpenSdkErrorDictionary.Add(506491, "分享失效,认证服务器返回");
			OpenSdkErrorDictionary.Add(506492, "Token失效,认证服务器返回");
			OpenSdkErrorDictionary.Add(506493, "缓存异常,认证服务器返回");
			OpenSdkErrorDictionary.Add(506494, "无权限,认证服务器返回");
			OpenSdkErrorDictionary.Add(506495, "Session不存在,认证服务器返回");
			OpenSdkErrorDictionary.Add(506496, "执行异常,认证服务器返回");
			OpenSdkErrorDictionary.Add(506497, "参数错误,认证服务器返回");
			OpenSdkErrorDictionary.Add(506498, "数据库错误,认证服务器返回");
			OpenSdkErrorDictionary.Add(506499, "错误,认证服务器返回");
			OpenSdkErrorDictionary.Add(510001, "未知错误");
			OpenSdkErrorDictionary.Add(510002, "报文参数错误");
			OpenSdkErrorDictionary.Add(510003, "报文解析错误");
			OpenSdkErrorDictionary.Add(510004, "系统内部错误");
			OpenSdkErrorDictionary.Add(510006, "非法命令");
			OpenSdkErrorDictionary.Add(510007, "过时命令");
			OpenSdkErrorDictionary.Add(510008, "错误命令");
			OpenSdkErrorDictionary.Add(510011, "校验码错误");
			OpenSdkErrorDictionary.Add(510016, "协议版本错误");
			OpenSdkErrorDictionary.Add(510017, "协议版本过低");
			OpenSdkErrorDictionary.Add(510018, "协议版本被禁止");
			OpenSdkErrorDictionary.Add(510021, "序列号解析失败");
			OpenSdkErrorDictionary.Add(510022, "序列号被禁止");
			OpenSdkErrorDictionary.Add(510023, "序列号重复");
			OpenSdkErrorDictionary.Add(510024, "相同序列号短时间内大量重复请求");
			OpenSdkErrorDictionary.Add(510025, "序列号不再支持");
			OpenSdkErrorDictionary.Add(510031, "本地无法响应");
			OpenSdkErrorDictionary.Add(510032, "本地主动拒绝");
			OpenSdkErrorDictionary.Add(510033, "无法接受请求");
			OpenSdkErrorDictionary.Add(510034, "设备加密算法不匹配");
			OpenSdkErrorDictionary.Add(510036, "设备类型错误");
			OpenSdkErrorDictionary.Add(510037, "设备类型不再支持");
			OpenSdkErrorDictionary.Add(510041, "设备无法响应");
			OpenSdkErrorDictionary.Add(510042, "操作码错误");
			OpenSdkErrorDictionary.Add(510043, "设备或平台未找到对应的加密算法");
			OpenSdkErrorDictionary.Add(510044, "拒绝");
			OpenSdkErrorDictionary.Add(510045, "没有可用资源，设备连接上线");
			OpenSdkErrorDictionary.Add(510046, "通道错");
			OpenSdkErrorDictionary.Add(510047, "不支持的命令");
			OpenSdkErrorDictionary.Add(510048, "没有权限");
			OpenSdkErrorDictionary.Add(510049, "没有找到会话");
			OpenSdkErrorDictionary.Add(510051, "该通道已在发流");
			OpenSdkErrorDictionary.Add(510052, "取流地址重复");
			OpenSdkErrorDictionary.Add(510053, "不支持的码流类型");
			OpenSdkErrorDictionary.Add(510054, "不支持的传输方式");
			OpenSdkErrorDictionary.Add(510055, "连接预览流媒体服务器失败");
			OpenSdkErrorDictionary.Add(510056, "查询设备公网出口地址失败");
			OpenSdkErrorDictionary.Add(510057, "无视频源");
			OpenSdkErrorDictionary.Add(510061, "查找录像开始时间错");
			OpenSdkErrorDictionary.Add(510062, "查找录像结束时间错");
			OpenSdkErrorDictionary.Add(510063, "查找录像失败");
			OpenSdkErrorDictionary.Add(510066, "不支持的回放类型");
			OpenSdkErrorDictionary.Add(510067, "没有找到文件");
			OpenSdkErrorDictionary.Add(510068, "开始时间错误");
			OpenSdkErrorDictionary.Add(510069, "错误的结束时间");
			OpenSdkErrorDictionary.Add(510070, "该时间段内没有录像");
			OpenSdkErrorDictionary.Add(510071, "连接回放服务器端失败");
			OpenSdkErrorDictionary.Add(510076, "不支持的语音编码类型");
			OpenSdkErrorDictionary.Add(510077, "该通道已在对讲");
			OpenSdkErrorDictionary.Add(510078, "和目的地址已有链接");
			OpenSdkErrorDictionary.Add(510079, "not support talk");
			OpenSdkErrorDictionary.Add(510080, "通道号错误");
			OpenSdkErrorDictionary.Add(510081, "连接语音服务器失败");
			OpenSdkErrorDictionary.Add(510082, "设备拒绝");
			OpenSdkErrorDictionary.Add(510083, "设备资源受限");
			OpenSdkErrorDictionary.Add(510086, "没有本地存储");
			OpenSdkErrorDictionary.Add(510087, "正在格式化中");
			OpenSdkErrorDictionary.Add(510088, "尝试格式化失败");
			OpenSdkErrorDictionary.Add(510091, "服务器拒绝设备升级请求");
			OpenSdkErrorDictionary.Add(510092, "没有找到请求版本");
			OpenSdkErrorDictionary.Add(510093, "不需要升级");
			OpenSdkErrorDictionary.Add(510094, "没有升级服务器在线");
			OpenSdkErrorDictionary.Add(510095, "所有升级服务器都达到最大负载");
			OpenSdkErrorDictionary.Add(510101, "正在软件升级");
			OpenSdkErrorDictionary.Add(510102, "升级失败（包含未知错误)");
			OpenSdkErrorDictionary.Add(510103, "升级写Flash失败");
			OpenSdkErrorDictionary.Add(510104, "升级语言不匹配");
			OpenSdkErrorDictionary.Add(510106, "密码更新失败，没有对应用户");
			OpenSdkErrorDictionary.Add(510107, "密码跟新失败，原始密码错误");
			OpenSdkErrorDictionary.Add(510108, "密码更新失败，新密码解密失败");
			OpenSdkErrorDictionary.Add(510109, "密码更新失败，新密码不符合规则");
			OpenSdkErrorDictionary.Add(510110, "更新密码失败，写flash失败");
			OpenSdkErrorDictionary.Add(510111, "更新密码失败，其他原因");
			OpenSdkErrorDictionary.Add(510116, "验证密码失败");
			OpenSdkErrorDictionary.Add(510121, "请求的设备不在线");
			OpenSdkErrorDictionary.Add(510122, "为了保护设备，拒绝请求");
			OpenSdkErrorDictionary.Add(510123, "设备达到链接的客户端上限");
			OpenSdkErrorDictionary.Add(510124, "要求客户端断开与设备连接");
			OpenSdkErrorDictionary.Add(510125, "设备拒绝平台发送的客户端连接请求");
			OpenSdkErrorDictionary.Add(510126, "CAS向验证中心验证用户权限失败");
			OpenSdkErrorDictionary.Add(510127, "设备开启隐私保护");
			OpenSdkErrorDictionary.Add(510128, "没有关联特征码");
			OpenSdkErrorDictionary.Add(510131, "不支持的布撤防类型");
			OpenSdkErrorDictionary.Add(510132, "布撤防失败");
			OpenSdkErrorDictionary.Add(510133, "强制布撤防失败");
			OpenSdkErrorDictionary.Add(510134, "需要强制布撤防");
			OpenSdkErrorDictionary.Add(510141, "没有找到云存储服务器");
			OpenSdkErrorDictionary.Add(510142, "用户未开通云存储");
			OpenSdkErrorDictionary.Add(510145, "文件已到结尾");
			OpenSdkErrorDictionary.Add(510146, "无效的session");
			OpenSdkErrorDictionary.Add(510147, "无效的文件");
			OpenSdkErrorDictionary.Add(510148, "未知的云存储类型");
			OpenSdkErrorDictionary.Add(510149, "不支持的文件类型");
			OpenSdkErrorDictionary.Add(510150, "无效的文件");
			OpenSdkErrorDictionary.Add(510151, "配额已满");
			OpenSdkErrorDictionary.Add(510152, "文件已满");
			OpenSdkErrorDictionary.Add(510200, "客户端错误号");
			OpenSdkErrorDictionary.Add(510201, "参数错误");
			OpenSdkErrorDictionary.Add(510202, "分配资源失败");
			OpenSdkErrorDictionary.Add(510203, "发送错误");
			OpenSdkErrorDictionary.Add(510204, "接收错误");
			OpenSdkErrorDictionary.Add(510205, "解析报文错误");
			OpenSdkErrorDictionary.Add(510206, "生成报文错误");
			OpenSdkErrorDictionary.Add(510207, "初始化Socket失败");
			OpenSdkErrorDictionary.Add(510208, "创建socket失败");
			OpenSdkErrorDictionary.Add(510209, "连接服务器或设备失败,可能的原因：网络不通、IP或端口错误");
			OpenSdkErrorDictionary.Add(510210, "CASLIB.dll not init");
			OpenSdkErrorDictionary.Add(510211, "超过CASCLIENT库支持的最大数");
			OpenSdkErrorDictionary.Add(510212, "信令发送超时");
			OpenSdkErrorDictionary.Add(510213, "信令接收超时");
			OpenSdkErrorDictionary.Add(510214, "create data packet failed");
			OpenSdkErrorDictionary.Add(510215, "解析数据包错误");
			OpenSdkErrorDictionary.Add(510216, "用户中途强行退出");
			OpenSdkErrorDictionary.Add(510217, "获取本地端口错误");
			OpenSdkErrorDictionary.Add(510218, "base64编码出错");
			OpenSdkErrorDictionary.Add(510219, "base64 decode failed");
			OpenSdkErrorDictionary.Add(510220, "接收数据错误");
			OpenSdkErrorDictionary.Add(510221, "AES加密出错");
			OpenSdkErrorDictionary.Add(510222, "AES解密出错");
			OpenSdkErrorDictionary.Add(510223, "不支持的操作");
			OpenSdkErrorDictionary.Add(510224, "p2p打洞失败");
			OpenSdkErrorDictionary.Add(510225, "发送打洞包失败");
			OpenSdkErrorDictionary.Add(510226, "用户强制终止(打洞和取流)");
			OpenSdkErrorDictionary.Add(510227, "缓存区满");
			OpenSdkErrorDictionary.Add(510228, "初始化ssl失败");
			OpenSdkErrorDictionary.Add(510229, "ssl连接失败");
			OpenSdkErrorDictionary.Add(510249, "认证的其他错误");
			OpenSdkErrorDictionary.Add(510250, "认证的数据库错误");
			OpenSdkErrorDictionary.Add(510251, "认证的参数错误");
			OpenSdkErrorDictionary.Add(510252, "认证的执行异常");
			OpenSdkErrorDictionary.Add(510253, "认证的session不正常");
			OpenSdkErrorDictionary.Add(510254, "认证的缓存异常");
			OpenSdkErrorDictionary.Add(510255, "认证的无权限");
			OpenSdkErrorDictionary.Add(510260, "添加的摄像机和设备不在同一局域网");
			OpenSdkErrorDictionary.Add(510261, "添加的摄像机被其他设备关联或超时");
			OpenSdkErrorDictionary.Add(510262, "添加摄像机的密码错误");
			OpenSdkErrorDictionary.Add(510263, "删除摄像机失败");
			OpenSdkErrorDictionary.Add(510264, "设备添加的摄像机已满");
			OpenSdkErrorDictionary.Add(510271, "不支持的探测器类型");
			OpenSdkErrorDictionary.Add(510290, "没有可用的P2P预链接，和之前最大连接数（3045）做个区分");
			OpenSdkErrorDictionary.Add(510291, "三路直连/P2P之后，第四路直连设备返回的错误码");
			OpenSdkErrorDictionary.Add(510292, "没有P2P取流资源, 直连资源有余");
			OpenSdkErrorDictionary.Add(510293, "设备未绑定用户, 检测设备是否已经加入平台");
			OpenSdkErrorDictionary.Add(510294, "访问凭证过期");
			OpenSdkErrorDictionary.Add(510295, "访问凭证无效");
			OpenSdkErrorDictionary.Add(510296, "无可用P2P服务, 上层需要重新获取P2P Server信息");
			OpenSdkErrorDictionary.Add(510297, "P2P Server未找到设备");
			OpenSdkErrorDictionary.Add(510298, "P2P Server信令解密失败, 上层需要重新获取密钥");
			OpenSdkErrorDictionary.Add(510299, "P2P Server生成秘钥失败");
			OpenSdkErrorDictionary.Add(510333, "未开始play或者dll未加载，stop失败");
			OpenSdkErrorDictionary.Add(510334, "传输方式错误");
			OpenSdkErrorDictionary.Add(510335, "SendMsg m_quit is true");
			OpenSdkErrorDictionary.Add(510336, "获得视频传输端口号失败");
			OpenSdkErrorDictionary.Add(510337, "开始心跳线程失败");
			OpenSdkErrorDictionary.Add(510338, "创建码流接收线程失败");
			OpenSdkErrorDictionary.Add(510339, "创建码流检测线程失败");
			OpenSdkErrorDictionary.Add(510340, "等待打洞成功超时");
			OpenSdkErrorDictionary.Add(510341, "创建UDT套接字失败");
			OpenSdkErrorDictionary.Add(510342, "P2P取流时发送play信令后没有收到设备流");
			OpenSdkErrorDictionary.Add(510343, "P2P取流过程中断流");
			OpenSdkErrorDictionary.Add(510344, "手机端尝试通过UDP取流时直接返回错误");
			OpenSdkErrorDictionary.Add(510345, "UPNP映射失败");
			OpenSdkErrorDictionary.Add(510346, "查询本地ip错误");
			OpenSdkErrorDictionary.Add(510347, "device map中查不到指定数据");
			OpenSdkErrorDictionary.Add(510348, "数据异常");
			OpenSdkErrorDictionary.Add(510349, "启动线程失败");
			OpenSdkErrorDictionary.Add(510350, "device map中添加数据失败");
			OpenSdkErrorDictionary.Add(510351, "客户端与设备之间的预链接已断开");
			OpenSdkErrorDictionary.Add(510352, "生成P2PV3协议是失败");
			OpenSdkErrorDictionary.Add(510353, "发送p2p server失败");
			OpenSdkErrorDictionary.Add(510354, "报文信息不合法, 比方identify或者seq");
			OpenSdkErrorDictionary.Add(510413, "dba或数据库连接错误");
			OpenSdkErrorDictionary.Add(510414, "留言文件已满");
			OpenSdkErrorDictionary.Add(510415, "留言文件已存在");
			OpenSdkErrorDictionary.Add(510416, "文件名格式错误");
			OpenSdkErrorDictionary.Add(510417, "无权限访问该文件");
			OpenSdkErrorDictionary.Add(510418, "获取文件失败");
			OpenSdkErrorDictionary.Add(510419, "文件不存在");
			OpenSdkErrorDictionary.Add(510420, "下载文件失败");
			OpenSdkErrorDictionary.Add(510421, "未收到Manager回应");
			OpenSdkErrorDictionary.Add(510422, "ticket失效");
			OpenSdkErrorDictionary.Add(510450, "正在调用预置点，键控动作无效");
			OpenSdkErrorDictionary.Add(510451, "键控动作超时(当前正在声源定位)");
			OpenSdkErrorDictionary.Add(510452, "键控动作超时(当前正在轨迹巡航)");
			OpenSdkErrorDictionary.Add(510453, "当前预置点信息无效");
			OpenSdkErrorDictionary.Add(510454, "该预置点已是当前位置");
			OpenSdkErrorDictionary.Add(510455, "开启声源定位，不允许调用预置点");
			OpenSdkErrorDictionary.Add(510456, "当前正在调用预置点");
			OpenSdkErrorDictionary.Add(510457, "当前正在开启隐私遮蔽");
			OpenSdkErrorDictionary.Add(510458, "当前正在关闭隐私遮蔽");
			OpenSdkErrorDictionary.Add(510459, "云台当前操作失败");
			OpenSdkErrorDictionary.Add(510460, "当前预置点超过最大个数");
			OpenSdkErrorDictionary.Add(510461, "设备处于隐私遮蔽状态（关闭了镜头，再去操作云台相关）");
			OpenSdkErrorDictionary.Add(510462, "设备正在镜像操作（设备镜像要几秒钟，防止频繁镜像操作");
			OpenSdkErrorDictionary.Add(510463, "设备正在键控动作（上下左右）");
			OpenSdkErrorDictionary.Add(510464, "设备处于语音对讲状态(区别以前的语音对讲错误码，云台单独列一个)");
			OpenSdkErrorDictionary.Add(510515, "设备云台旋转到达上限位");
			OpenSdkErrorDictionary.Add(510516, "设备云台旋转到达下限位");
			OpenSdkErrorDictionary.Add(510517, "设备云台旋转到达左限位");
			OpenSdkErrorDictionary.Add(510518, "设备云台旋转到达右限位");
			OpenSdkErrorDictionary.Add(510896, "打洞过程中没有收到任何设备发来的包");
			OpenSdkErrorDictionary.Add(510897, "打洞过程中只收到设备本地的打洞包");
			OpenSdkErrorDictionary.Add(510898, "打洞过程中只收到设备UPNP的打洞包");
			OpenSdkErrorDictionary.Add(510899, "打洞过程中只收到设备本地，UPNP的打洞包");
			OpenSdkErrorDictionary.Add(510900, "打洞过程中只收到设备NAT的打洞包");
			OpenSdkErrorDictionary.Add(510901, "打洞过程中只收到设备本地，NAT的打洞包");
			OpenSdkErrorDictionary.Add(510902, "打洞过程中只收到设备UPNP,NAT的打洞包");
			OpenSdkErrorDictionary.Add(510903, "打洞过程中只收到设备本地，UPNP,NAT的打洞包");
			OpenSdkErrorDictionary.Add(510904, "打洞过程中只收到设备本地的确认包");
			OpenSdkErrorDictionary.Add(510905, "打洞过程中收到设备本地的打洞包和确认包，该错误码不会出现");
			OpenSdkErrorDictionary.Add(510906, "打洞过程中收到设备本地的确认包和UPNP的打洞包");
			OpenSdkErrorDictionary.Add(510907, "打洞过程中收到设备本地确认包，本地和UPNP的打洞包，该错误码不会出现");
			OpenSdkErrorDictionary.Add(510908, "打洞过程中收到设备本地确认包和NAT的打洞包");
			OpenSdkErrorDictionary.Add(510909, "打洞过程中收到设备本地确认包，本地和NAT的打洞包，该错误码不会出现");
			OpenSdkErrorDictionary.Add(510910, "打洞过程中收到设备本地的确认包，UPNP和NAT的打洞包");
			OpenSdkErrorDictionary.Add(510911, "打洞过程中收到设备本地确认包，本地，UPNP和NAT的打洞包，该错误码不会出现");
			OpenSdkErrorDictionary.Add(510912, "打洞过程中收到设备UPNP确认包");
			OpenSdkErrorDictionary.Add(510913, "打洞过程中收到设备UPNP的确认包，本地的打洞包");
			OpenSdkErrorDictionary.Add(510914, "打洞过程中收到设备UPNP的确认包和打洞包，该错误码不会出现");
			OpenSdkErrorDictionary.Add(510915, "打洞过程中收到设备UPNP的确认包，本地和UPNP的打洞包，该错误码不会出现");
			OpenSdkErrorDictionary.Add(510916, "打洞过程中收到设备UPNP的确认包，NAT打洞包");
			OpenSdkErrorDictionary.Add(510917, "打洞过程中收到设备UPNP的确认包，本地和NAT的打洞包");
			OpenSdkErrorDictionary.Add(510918, "打洞过程中收到设备UPNP的确认包，UPNP和NAT的打洞包，该错误码不会出现");
			OpenSdkErrorDictionary.Add(510919, "打洞过程中收到设备UPNP的确认包，本地，UPNP和NAT的打洞包，该错误码不会出现");
			OpenSdkErrorDictionary.Add(510920, "打洞过程中只收到设备本地和UPNP的确认包");
			OpenSdkErrorDictionary.Add(510921, "打洞过程中只收到设备本地和UPNP的确认包，本地的打洞包");
			OpenSdkErrorDictionary.Add(510922, "打洞过程中只收到设备本地和UPNP的确认包,UPNP的打洞包，该错误码不会出现");
			OpenSdkErrorDictionary.Add(510923, "打洞过程中收到设备本地和UPNP的确认包,本地和UPNP的打洞包，该错误码不会出现");
			OpenSdkErrorDictionary.Add(510924, "打洞过程中收到设备本地和UPNP的确认包,NAT的打洞包");
			OpenSdkErrorDictionary.Add(510925, "打洞过程中收到设备本地和UPNP的确认包,本地和NAT的打洞包，该错误码不会出现");
			OpenSdkErrorDictionary.Add(510926, "打洞过程中收到设备本地和UPNP的确认包,UPNP和NAT的打洞包，该错误码不会出现");
			OpenSdkErrorDictionary.Add(510927, "打洞过程中收到设备本地和UPNP的确认包,本地，UPNP和NAT的打洞包，该错误码不会出现");
			OpenSdkErrorDictionary.Add(510928, "打洞过程中只收到设备NAT端的确认包");
			OpenSdkErrorDictionary.Add(510929, "打洞过程中只收到设备NAT端的确认包, 本地的打洞包");
			OpenSdkErrorDictionary.Add(510930, "打洞过程中只收到设备NAT端的确认包, UPNP的打洞包");
			OpenSdkErrorDictionary.Add(510931, "打洞过程中只收到设备NAT端的确认包, 本地和UPNP的打洞包");
			OpenSdkErrorDictionary.Add(510932, "打洞过程中收到设备NAT端的确认包, NAT的打洞包，该错误码不会出现");
			OpenSdkErrorDictionary.Add(510933, "打洞过程中只收到设备NAT端的确认包, 本地和NAT的打洞包，该错误码不会出现");
			OpenSdkErrorDictionary.Add(510934, "打洞过程中只收到设备NAT端的确认包, UPNP和NAT的打洞包，该错误码不会出现");
			OpenSdkErrorDictionary.Add(510935, "打洞过程中只收到设备NAT端的确认包, 本地，UPNP和NAT的打洞包，该错误码不会出现");
			OpenSdkErrorDictionary.Add(510936, "打洞过程中只收到设备本地和NAT端的确认包");
			OpenSdkErrorDictionary.Add(510937, "打洞过程中只收到设备本地和NAT端的确认包, 本地的打洞包，该错误码不会出现");
			OpenSdkErrorDictionary.Add(510938, "打洞过程中只收到设备本地和NAT端的确认包, UPNP的打洞包");
			OpenSdkErrorDictionary.Add(510939, "打洞过程中只收到设备本地和NAT端的确认包, 本地和UPNP的打洞包，该错误码不会出现");
			OpenSdkErrorDictionary.Add(510940, "打洞过程中只收到设备本地和NAT端的确认包, NAT的打洞包，该错误码不会出现");
			OpenSdkErrorDictionary.Add(510941, "打洞过程中只收到设备本地和NAT端的确认包, 本地和NAT的打洞包，该错误码不会出现");
			OpenSdkErrorDictionary.Add(510942, "打洞过程中只收到设备本地和NAT端的确认包, UPNP和NAT的打洞包，该错误码不会出现");
			OpenSdkErrorDictionary.Add(510943, "打洞过程中只收到设备本地和NAT端的确认包, 本地，UPNP和NAT的打洞包，该错误码不会出现");
			OpenSdkErrorDictionary.Add(510944, "打洞过程中只收到设备UPNP和NAT端的确认包");
			OpenSdkErrorDictionary.Add(510945, "打洞过程中只收到设备UPNP和NAT端的确认包，本地的打洞包");
			OpenSdkErrorDictionary.Add(510946, "打洞过程中只收到设备UPNP和NAT端的确认包，UPNP的打洞包，该错误码不会出现");
			OpenSdkErrorDictionary.Add(510947, "打洞过程中只收到设备UPNP和NAT端的确认包，本地和UPNP打洞包，该错误码不会出现");
			OpenSdkErrorDictionary.Add(510948, "打洞过程中只收到设备UPNP和NAT端的确认包,NAT打洞包，该错误码不会出现");
			OpenSdkErrorDictionary.Add(510949, "打洞过程中只收到设备UPNP和NAT端的确认包，本地和NAT打洞包，该错误码不会出现");
			OpenSdkErrorDictionary.Add(510950, "打洞过程中只收到设备UPNP和NAT端的确认包，UPNP和NAT打洞包，该错误码不会出现");
			OpenSdkErrorDictionary.Add(510951, "打洞过程中只收到设备UPNP和NAT端的确认包，本地，UPNP和NAT打洞包，该错误码不会出现");
			OpenSdkErrorDictionary.Add(510952, "打洞过程中只收到设备本地，UPNP和NAT端的确认包");
			OpenSdkErrorDictionary.Add(510953, "打洞过程中收到设备本地，UPNP和NAT端的确认包,本地打洞包，该错误码不会出现");
			OpenSdkErrorDictionary.Add(510954, "打洞过程中收到设备本地，UPNP和NAT端的确认包,UPNP打洞包，该错误码不会出现");
			OpenSdkErrorDictionary.Add(510955, "打洞过程中收到设备本地，UPNP和NAT端的确认包,本地和UPNP打洞包，该错误码不会出现");
			OpenSdkErrorDictionary.Add(510956, "打洞过程中收到设备本地，UPNP和NAT端的确认包,NAT打洞包，该错误码不会出现");
			OpenSdkErrorDictionary.Add(510957, "打洞过程中收到设备本地，UPNP和NAT端的确认包,本地和NAT打洞包，该错误码不会出现");
			OpenSdkErrorDictionary.Add(510958, "打洞过程中收到设备本地，UPNP和NAT端的确认包,UPNP和NAT打洞包，该错误码不会出现");
			OpenSdkErrorDictionary.Add(510959, "打洞过程中收到设备本地，UPNP和NAT端的确认包,本地，UPNP和NAT的打洞包，该错误码不会出现");
			OpenSdkErrorDictionary.Add(510960, "P2P取流时，接收到的包大于1600字节");
			OpenSdkErrorDictionary.Add(520001, "通用错误返回");
			OpenSdkErrorDictionary.Add(520002, "入参为空指针");
			OpenSdkErrorDictionary.Add(520003, "入参值无效");
			OpenSdkErrorDictionary.Add(520004, "信令消息解析非法");
			OpenSdkErrorDictionary.Add(520005, "内存资源不足");
			OpenSdkErrorDictionary.Add(520006, "协议格式不对或者消息体长度超过STREAM_MAX_MSGBODY_LEN");
			OpenSdkErrorDictionary.Add(520007, "设备序列号长度不合法");
			OpenSdkErrorDictionary.Add(520008, "取流url长度不合法");
			OpenSdkErrorDictionary.Add(520009, "解析vtm返回vtdu地址不合法");
			OpenSdkErrorDictionary.Add(520010, "解析vtm返回级联vtdu地址不合法");
			OpenSdkErrorDictionary.Add(520011, "解析vtm返回会话标识长度不合法");
			OpenSdkErrorDictionary.Add(520012, "vtdu返回流头长度不合法");
			OpenSdkErrorDictionary.Add(520013, "vtdu会话长度非法");
			OpenSdkErrorDictionary.Add(520014, "回调函数未注册");
			OpenSdkErrorDictionary.Add(520015, "vtdu成功响应未携带会话标识");
			OpenSdkErrorDictionary.Add(520016, "vtdu成功响应未携带流头");
			OpenSdkErrorDictionary.Add(520017, "无数据流，尚未使用");
			OpenSdkErrorDictionary.Add(520018, "信令消息体PB解析失败");
			OpenSdkErrorDictionary.Add(520019, "信令消息体PB封装失败");
			OpenSdkErrorDictionary.Add(520020, "申请系统内存资源失败");
			OpenSdkErrorDictionary.Add(520021, "vtdu地址尚未获取到");
			OpenSdkErrorDictionary.Add(520022, "客户端尚未支持");
			OpenSdkErrorDictionary.Add(520023, "获取系统socket资源失败");
			OpenSdkErrorDictionary.Add(520024, "上层填充的StreamSsnId不匹配");
			OpenSdkErrorDictionary.Add(520025, "链接服务器失败");
			OpenSdkErrorDictionary.Add(520026, "客户端请求未收到服务端应答");
			OpenSdkErrorDictionary.Add(520027, "链路断开");
			OpenSdkErrorDictionary.Add(520028, "没有取流链接");
			OpenSdkErrorDictionary.Add(520029, "流成功停止");
			OpenSdkErrorDictionary.Add(520030, "客户端防串流校验失败");
			OpenSdkErrorDictionary.Add(520031, "应用层tcp粘包处理缓冲区满");
			OpenSdkErrorDictionary.Add(520032, "无效状态迁移");
			OpenSdkErrorDictionary.Add(520033, "无效客户端状态");
			OpenSdkErrorDictionary.Add(520034, "向vtm取流流媒体信息请求超时");
			OpenSdkErrorDictionary.Add(520035, "向代理取流请求超时");
			OpenSdkErrorDictionary.Add(520036, "向代理保活取流请求超时");
			OpenSdkErrorDictionary.Add(520037, "向vtdu取流请求超时");
			OpenSdkErrorDictionary.Add(520038, "向vtdu保活取流请求超时");
			OpenSdkErrorDictionary.Add(520040, "link id 不一样");
			OpenSdkErrorDictionary.Add(521006, "vtm描述符select失败");
			OpenSdkErrorDictionary.Add(521007, "vtm文件描述符不在可读中");
			OpenSdkErrorDictionary.Add(521008, "vtm网络发生错误getsockopt");
			OpenSdkErrorDictionary.Add(521009, "vtm描述符select超时");
			OpenSdkErrorDictionary.Add(525302, "重定向请求");
			OpenSdkErrorDictionary.Add(525400, "取流参数不正确，比方设备序列号、码流类型等");
			OpenSdkErrorDictionary.Add(525402, "回放找不到录像文件");
			OpenSdkErrorDictionary.Add(525403, "操作码或信令密钥与设备不匹配");
			OpenSdkErrorDictionary.Add(525404, "设备不在线");
			OpenSdkErrorDictionary.Add(525405, "流媒体向设备发送或接受信令超时/cas响应超时");
			OpenSdkErrorDictionary.Add(525406, "token失效");
			OpenSdkErrorDictionary.Add(525407, "客户端的URL格式错误");
			OpenSdkErrorDictionary.Add(525409, "预览开启隐私保护");
			OpenSdkErrorDictionary.Add(525410, "设备达到最大连接数");
			OpenSdkErrorDictionary.Add(525411, "token无权限");
			OpenSdkErrorDictionary.Add(525412, "session不存在");
			OpenSdkErrorDictionary.Add(525413, "验证token的其他异常(不具体)");
			OpenSdkErrorDictionary.Add(525415, "设备通道错");
			OpenSdkErrorDictionary.Add(525451, "设备不支持的码流类型");
			OpenSdkErrorDictionary.Add(525452, "设备连接预览流媒体服务器失败");
			OpenSdkErrorDictionary.Add(525454, "视频分享时间已经结束");
			OpenSdkErrorDictionary.Add(525491, "相同请求正在处理，拒绝本次处理");
			OpenSdkErrorDictionary.Add(525500, "流媒体服务器内部处理错误");
			OpenSdkErrorDictionary.Add(525501, "vtm构造级联失败");
			OpenSdkErrorDictionary.Add(525503, "vtm分配vtdu服务器失败");
			OpenSdkErrorDictionary.Add(525530, "机房故障不可用");
			OpenSdkErrorDictionary.Add(525544, "设备返回无视频源");
			OpenSdkErrorDictionary.Add(525545, "视频分享时间已经结束");
			OpenSdkErrorDictionary.Add(525546, "VTDU取流并发2路限制");
			OpenSdkErrorDictionary.Add(525556, "ticket校验失败");
			OpenSdkErrorDictionary.Add(526105, "报文解析错误");
			OpenSdkErrorDictionary.Add(526106, "系统内部错误");
			OpenSdkErrorDictionary.Add(550001, "请求处理等待超时");
			OpenSdkErrorDictionary.Add(550002, "请求处理超时");
			OpenSdkErrorDictionary.Add(550003, "TTS与设备的连接异常中断");
			OpenSdkErrorDictionary.Add(550004, "TTS内部处理异常");
			OpenSdkErrorDictionary.Add(550005, "TTS接受到的消息类型不正确");
			OpenSdkErrorDictionary.Add(550006, "客户端需要重定向");
			OpenSdkErrorDictionary.Add(550007, "客户端的URL格式错误");
			OpenSdkErrorDictionary.Add(550008, "TTS验证token失败");
			OpenSdkErrorDictionary.Add(550009, "操作码或信令密钥与设备不匹配");
			OpenSdkErrorDictionary.Add(550010, "设备正在对讲中");
			OpenSdkErrorDictionary.Add(550011, "TTS发送或接受设备信令超时");
			OpenSdkErrorDictionary.Add(550012, "设备不在线");
			OpenSdkErrorDictionary.Add(550013, "设备开启了隐私保护");
			OpenSdkErrorDictionary.Add(550014, "客户端创建线程失败");
			OpenSdkErrorDictionary.Add(550015, "客户端处理URL失败");
			OpenSdkErrorDictionary.Add(550016, "客户端获取的重定向URL错误");
			OpenSdkErrorDictionary.Add(550017, "token无权限(服务器返回)");
			OpenSdkErrorDictionary.Add(550018, "session不存在(服务器返回)");
			OpenSdkErrorDictionary.Add(550019, "token认证的其他错误(服务器返回)");
			OpenSdkErrorDictionary.Add(550100, "客户端函数传参错误(客户端)");
			OpenSdkErrorDictionary.Add(550101, "客户端创建socket出错(客户端)");
			OpenSdkErrorDictionary.Add(550102, "客户端接收信令socket异常(客户端)");
			OpenSdkErrorDictionary.Add(550103, "客户端发送信令socket异常(客户端)");
			OpenSdkErrorDictionary.Add(550104, "客户端获知TTS关闭了链接(客户端)");
			OpenSdkErrorDictionary.Add(550105, "TTS返回的信令类型错误(客户端)");
			OpenSdkErrorDictionary.Add(550106, "TTS响应中的result为负值(客户端)");
			OpenSdkErrorDictionary.Add(558001, "客户端请求超时");
			OpenSdkErrorDictionary.Add(558002, "服务器处理请求超时");
			OpenSdkErrorDictionary.Add(558003, "TTS的设备端发生错误");
			OpenSdkErrorDictionary.Add(558004, "TTS内部发生错误");
			OpenSdkErrorDictionary.Add(558005, "客户端发送的消息错误");
			OpenSdkErrorDictionary.Add(558006, "客户端接收发生错误");
			OpenSdkErrorDictionary.Add(558007, "TTS关闭了与客户端的连接");
			OpenSdkErrorDictionary.Add(558013, "设备开启了隐私保护");
			OpenSdkErrorDictionary.Add(560001, "device ID out of range");
			OpenSdkErrorDictionary.Add(560002, "driver failed enable");
			OpenSdkErrorDictionary.Add(560003, "device already allocated");
			OpenSdkErrorDictionary.Add(560004, "device handle is invalid");
			OpenSdkErrorDictionary.Add(560005, "no device driver present");
			OpenSdkErrorDictionary.Add(560006, "memory allocation error");
			OpenSdkErrorDictionary.Add(560007, "function isn't supported");
			OpenSdkErrorDictionary.Add(560008, "error value out of range");
			OpenSdkErrorDictionary.Add(560009, "invalid flag passed");
			OpenSdkErrorDictionary.Add(560010, "invalid parameter passed");
			OpenSdkErrorDictionary.Add(560011, "handle being used");
			OpenSdkErrorDictionary.Add(560012, "specified alias not found");
			OpenSdkErrorDictionary.Add(560013, "bad registry database");
			OpenSdkErrorDictionary.Add(560014, "registry key not found");
			OpenSdkErrorDictionary.Add(560015, "registry read error");
			OpenSdkErrorDictionary.Add(560016, "registry write error");
			OpenSdkErrorDictionary.Add(560017, "registry delete error");
			OpenSdkErrorDictionary.Add(560018, "registry value not found");
			OpenSdkErrorDictionary.Add(560019, "driver does not call DriverCallback");
			OpenSdkErrorDictionary.Add(560020, "more data to be returned");
			OpenSdkErrorDictionary.Add(560021, "last error in range");
			OpenSdkErrorDictionary.Add(560026, "类型不支持");
			OpenSdkErrorDictionary.Add(560027, "内存分配出错");
			OpenSdkErrorDictionary.Add(560028, "调用参数出错");
			OpenSdkErrorDictionary.Add(560029, "调用顺序出错");
			OpenSdkErrorDictionary.Add(560030, "设备上下文出错");
			OpenSdkErrorDictionary.Add(560031, "WAV文件出错");
			OpenSdkErrorDictionary.Add(560032, "无效的WAV参数类型");
			OpenSdkErrorDictionary.Add(560033, "编码失败");
			OpenSdkErrorDictionary.Add(560034, "解码失败");
			OpenSdkErrorDictionary.Add(560035, "播放失败");
			OpenSdkErrorDictionary.Add(560036, "降噪失败");
			OpenSdkErrorDictionary.Add(560037, "未知错误");
			#endregion
		}
	}
}
